﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>

using namespace std;
string a, b;

void dfs(int l1, int r1, int l2, int r2)
{
	// 递归出⼝
	// 当区间不合法时，返回
	if (l1 > r1) return;
	// 1. 确定根节点 - b[r2]
	cout << b[r2];
	int p = l1;
	while (a[p] != b[r2]) p++;			// p ⽤来标记中序遍历中根节点的位置

	// 2. 划分左右⼦树
	dfs(l1, p - 1, l2, l2 + p - l1 - 1);		// 递归处理左⼦树
	dfs(p + 1, r1, l2 + p - l1, r2 - 1);		 // 递归处理右⼦树
}

int main()
{
	cin >> a >> b;
	dfs(0, a.size() - 1, 0, b.size() - 1);
	return 0;
}